Freeman 的博客

指纹代替录入 sudo 密码

February 07, 2025

这篇文章将介绍如何使用 MacBook Pro 上的指纹,代替录入 sudo 密码,密码长度越长效果越好。大概就是下图的效果:

如果密码不太长且使用外接键盘的话,手不离开键盘可能会更方便一些 ;)

原生支持的方法 目前 macOS 已经可以原生支持 TouchID 的验证,只需要修改 /etc/pam.d/sudo 文件,因为该文件权限为只读,所以在修改前需要修改文件权限。

cd /etc/pam.d
sudo chmod 666 sudo

使用 vim 等熟悉的编辑工具对文件进行编辑,在第一排后面追加 auth sufficient pam_tid.so,最终文件如下:


# sudo: auth account password session
auth       sufficient     pam_tid.so  # <- 新增加的一行
auth       sufficient     pam_smartcard.so
auth       required       pam_opendirectory.so
account    required       pam_permit.so
password   required       pam_deny.so
session    required       pam_permit.so

后面再使用 sudo 命令的时候,就会弹出录入 TouchID 的弹窗。最后恢复文件的权限

sudo chmod 444 /etc/pam.d/sudo

目前已经原生支持的 PAM(可插拔的认证模块),可以在目录下 /usr/lib/pam 查看。


京ICP备19052401号

「Powered by CloudBase Webify